package cn.amlove.noteken.file;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;

public class FileUtil {
	
	public static String fileGetContents(File file, String charset)
	{
		String content = null;
		try {
			content = new String(Files.readAllBytes(file.toPath()), charset);
		} catch (IOException e) {
			
		}
		
		return content;
	}
	
	public static boolean filePutContent(File file, String content)
	{
		boolean isRight = false;
		
		if (content != null)
		{
			try {
				Files.write(file.toPath(), content.getBytes(), StandardOpenOption.CREATE);
			} catch (IOException e1) {
				isRight = true;
			}
		}
		
		return isRight;
	}
	
	public static String getContentType(String fileName)
	{
		if (fileName != null)
		{
			fileName = fileName.toLowerCase();
			if (fileName.endsWith(FileType.TEXT))
			{
				return ContentType.TEXT;
			}
			if (fileName.endsWith(FileType.MARKDOWN))
			{
				return ContentType.MARKDOWN;
			}
			if (fileName.endsWith(FileType.HTM))
			{
				return ContentType.HTML;
			}
			if (fileName.endsWith(FileType.HTML))
			{
				return ContentType.HTML;
			}
			if (fileName.endsWith(FileType.XML))
			{
				return ContentType.XML;
			}
			if (fileName.endsWith(FileType.JPG))
			{
				return ContentType.JPG;
			}
			if (fileName.endsWith(FileType.JPEG))
			{
				return ContentType.JPG;
			}
			if (fileName.endsWith(FileType.PNG))
			{
				return ContentType.PNG;
			}
		}
		
		return ContentType.TEXT;
	}	

	public static String getFileType(String fileName)
	{
		if (fileName != null)
		{
			fileName = fileName.toLowerCase();
			if (fileName.endsWith(FileType.TEXT))
			{
				return FileType.TEXT;
			}
			if (fileName.endsWith(FileType.MARKDOWN))
			{
				return FileType.MARKDOWN;
			}
			if (fileName.endsWith(FileType.HTM))
			{
				return FileType.HTML;
			}
			if (fileName.endsWith(FileType.HTML))
			{
				return FileType.HTML;
			}
			if (fileName.endsWith(FileType.XML))
			{
				return FileType.XML;
			}
			if (fileName.endsWith(FileType.JPG))
			{
				return FileType.JPG;
			}
			if (fileName.endsWith(FileType.JPEG))
			{
				return FileType.JPG;
			}
			if (fileName.endsWith(FileType.PNG))
			{
				return FileType.PNG;
			}
		}
		
		return FileType.TEXT;
	}
	
    public static String getFileEncoding(File file){
    	return "utf-8";
    }
	
}
